using System.Linq;
using System.Collections.Generic;
using MinesweeperPlus.Scripts.Configs;
using MinesweeperPlus.Scripts.Utils;

namespace MinesweeperPlus.Scripts.Objects
{
    public sealed class PlayerData
    {
        #region Constants
        private const int DEFAULT_MONEY_VALUE = 100;
        private const string DEFAULT_SELECTED_COLOR_SCHEME_NAME = "Default Light";
        private const string DEFAULT_BOUGHT_COLOR_SCHEME_NAME_0 = DEFAULT_SELECTED_COLOR_SCHEME_NAME;
        private const string DEFAULT_BOUGHT_COLOR_SCHEME_NAME_1 = "Default Dark";
        #endregion

        #region Variables
        private int _money;
        #endregion
        #region Properties
        public int Money { get; private set; }

        public string SelectedColorSchemeName;
        public List<string> BoughtColorSchemeNames;
        #endregion

        #region PlayerData Methods
        public PlayerData()
        {
            Money = DEFAULT_MONEY_VALUE;
            SelectedColorSchemeName = DEFAULT_SELECTED_COLOR_SCHEME_NAME;
            
            BoughtColorSchemeNames = new();
            BoughtColorSchemeNames.Add(DEFAULT_BOUGHT_COLOR_SCHEME_NAME_0);
            BoughtColorSchemeNames.Add(DEFAULT_BOUGHT_COLOR_SCHEME_NAME_1);
        }
        #endregion
    }
}
